package com.asset.salesforce.form;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.NotEmpty;

//import com.asset.salesforce.validator.AppointmentDayChecker;
import com.asset.salesforce.validator.AppointmentFellowUpDateChecker;
import com.asset.salesforce.validator.AppointmentFellowUpTypeConstraint;
import com.asset.salesforce.validator.AppointmentNotExist;
@AppointmentNotExist
@AppointmentFellowUpDateChecker
@AppointmentFellowUpTypeConstraint
//@AppointmentDayChecker
public class AppointmentForm {
	private Integer empId;
	private Integer salesMan;
	@NotNull()
	private Integer contactedPerson;
	@NotEmpty()
	private String day;
	@NotEmpty()
	//@Pattern(regexp="(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/((19|20)\\d\\d)")
	private String date;
	@NotEmpty()
	private String time;
	private String comment;
	///@NotEmpty()
	private String nextFollowUp;
	//@NotEmpty()
	private String nextFollowUpType;
	///@NotEmpty()
	private String nextFollowUpDate;
	//@NotEmpty()
	private String nextFollowUpDetails;
	private Boolean meetingDone;
	@NotEmpty()
	private String meetingDuration;
	private String customerNeed;
	private Boolean demoDone;
	private Boolean offerSubmitted;
	private String confirmationDateExpected;
	private Boolean discountDone;
	@NotEmpty()
	private String parentType;
	private Boolean competitorOffer;
	private Boolean dealClosingDone;
	@Pattern(regexp="^$|^[0-9]*$")
	private String replyPeriod;
	private String dealClosingReason;
	private Integer parentId;
	/**
	 * @return the parentType
	 */
	public String getParentType() {
		return parentType;
	}
	/**
	 * @param parentType the parentType to set
	 */
	public void setParentType(String parentType) {
		this.parentType = parentType;
	}
	/**
	 * @return the time
	 */
	public String getTime() {
		return time;
	}
	/**
	 * @param time the time to set
	 */
	public void setTime(String time) {
		this.time = time;
	}
	/**
	 * @return the meetingDuration
	 */
	public String getMeetingDuration() {
		return meetingDuration;
	}
	/**
	 * @param meetingDuration the meetingDuration to set
	 */
	public void setMeetingDuration(String meetingDuration) {
		this.meetingDuration = meetingDuration;
	}
	/**
	 * @return the salesMan
	 */
	public Integer getSalesMan() {
		return salesMan;
	}
	/**
	 * @param salesMan the salesMan to set
	 */
	public void setSalesMan(Integer salesMan) {
		this.salesMan = salesMan;
	}
	/**
	 * @return the contactedPerson
	 */
	public Integer getContactedPerson() {
		return contactedPerson;
	}
	/**
	 * @param contactedPerson the contactedPerson to set
	 */
	public void setContactedPerson(Integer contactedPerson) {
		this.contactedPerson = contactedPerson;
	}
	/**
	 * @return the day
	 */
	public String getDay() {
		return day;
	}
	/**
	 * @param day the day to set
	 */
	public void setDay(String day) {
		this.day = day;
	}
	/**
	 * @return the date
	 */
	public String getDate() {
		return date;
	}
	/**
	 * @param date the date to set
	 */
	public void setDate(String date) {
		this.date = date;
	}
	
	/**
	 * @return the comment
	 */
	public String getComment() {
		return comment;
	}
	/**
	 * @param comment the comment to set
	 */
	public void setComment(String comment) {
		this.comment = comment;
	}
	/**
	 * @return the nextFollowUp
	 */
	public String getNextFollowUp() {
		return nextFollowUp;
	}
	/**
	 * @param nextFollowUp the nextFollowUp to set
	 */
	public void setNextFollowUp(String nextFollowUp) {
		this.nextFollowUp = nextFollowUp;
	}
	/**
	 * @return the nextFollowUpType
	 */
	public String getNextFollowUpType() {
		return nextFollowUpType;
	}
	/**
	 * @param nextFollowUpType the nextFollowUpType to set
	 */
	public void setNextFollowUpType(String nextFollowUpType) {
		this.nextFollowUpType = nextFollowUpType;
	}
	/**
	 * @return the nextFollowUpDate
	 */
	public String getNextFollowUpDate() {
		return nextFollowUpDate;
	}
	/**
	 * @param nextFollowUpDate the nextFollowUpDate to set
	 */
	public void setNextFollowUpDate(String nextFollowUpDate) {
		this.nextFollowUpDate = nextFollowUpDate;
	}
	/**
	 * @return the nextFollowUpDetails
	 */
	public String getNextFollowUpDetails() {
		return nextFollowUpDetails;
	}
	/**
	 * @param nextFollowUpDetails the nextFollowUpDetails to set
	 */
	public void setNextFollowUpDetails(String nextFollowUpDetails) {
		this.nextFollowUpDetails = nextFollowUpDetails;
	}
	/**
	 * @return the meetingDone
	 */
	public Boolean getMeetingDone() {
		return meetingDone;
	}
	/**
	 * @param meetingDone the meetingDone to set
	 */
	public void setMeetingDone(Boolean meetingDone) {
		this.meetingDone = meetingDone;
	}
	/**
	 * @return the appointmentendTime
	 */
	
	/**
	 * @return the customerNeed
	 */
	public String getCustomerNeed() {
		return customerNeed;
	}
	/**
	 * @param customerNeed the customerNeed to set
	 */
	public void setCustomerNeed(String customerNeed) {
		this.customerNeed = customerNeed;
	}
	/**
	 * @return the demoDone
	 */
	public Boolean getDemoDone() {
		return demoDone;
	}
	/**
	 * @param demoDone the demoDone to set
	 */
	public void setDemoDone(Boolean demoDone) {
		this.demoDone = demoDone;
	}
	/**
	 * @return the offerSubmitted
	 */
	public Boolean getOfferSubmitted() {
		return offerSubmitted;
	}
	/**
	 * @param offerSubmitted the offerSubmitted to set
	 */
	public void setOfferSubmitted(Boolean offerSubmitted) {
		this.offerSubmitted = offerSubmitted;
	}
	/**
	 * @return the confirmationDateExpected
	 */
	public String getConfirmationDateExpected() {
		return confirmationDateExpected;
	}
	/**
	 * @param confirmationDateExpected the confirmationDateExpected to set
	 */
	public void setConfirmationDateExpected(String confirmationDateExpected) {
		this.confirmationDateExpected = confirmationDateExpected;
	}
	/**
	 * @return the discountDone
	 */
	public Boolean getDiscountDone() {
		return discountDone;
	}
	/**
	 * @param discountDone the discountDone to set
	 */
	public void setDiscountDone(Boolean discountDone) {
		this.discountDone = discountDone;
	}
	/**
	 * @return the competitorOffer
	 */
	public Boolean getCompetitorOffer() {
		return competitorOffer;
	}
	/**
	 * @param competitorOffer the competitorOffer to set
	 */
	public void setCompetitorOffer(Boolean competitorOffer) {
		this.competitorOffer = competitorOffer;
	}
	/**
	 * @return the dealClosingDone
	 */
	public Boolean getDealClosingDone() {
		return dealClosingDone;
	}
	/**
	 * @param dealClosingDone the dealClosingDone to set
	 */
	public void setDealClosingDone(Boolean dealClosingDone) {
		this.dealClosingDone = dealClosingDone;
	}
	/**
	 * @return the replyPeriod
	 */
	public String getReplyPeriod() {
		return replyPeriod;
	}
	/**
	 * @param replyPeriod the replyPeriod to set
	 */
	public void setReplyPeriod(String replyPeriod) {
		this.replyPeriod = replyPeriod;
	}
	/**
	 * @return the dealClosingReason
	 */
	public String getDealClosingReason() {
		return dealClosingReason;
	}
	/**
	 * @param dealClosingReason the dealClosingReason to set
	 */
	public void setDealClosingReason(String dealClosingReason) {
		this.dealClosingReason = dealClosingReason;
	}
	/**
	 * @return the parentId
	 */
	public Integer getParentId() {
		return parentId;
	}
	/**
	 * @param parentId the parentId to set
	 */
	public void setParentId(Integer parentId) {
		this.parentId = parentId;
	}
	/**
	 * 
	 * @return
	 */
	public Integer getEmpId() {
		return empId;
	}
	/**
	 * 
	 * @param empId
	 */
	public void setEmpId(Integer empId) {
		this.empId = empId;
	}
	
}
